#1.写一个函数add,接受两个整数作为参数，返回这两个整数的和

# def add(a,b):
#     return a + b
#
# print(add(1,2))

#2.写一个函数，接受一个整数n,输出1+2+3+n的和

# def add(n):
#     sum = 0
#     for i in range(n+1):
#         sum += i
#     return print(sum)
# add(3)

#函数改造
#1.循环求和：利用循环语句计算从100加到500后的总和
# def add():
#     sum = 0
#     for i in range(100,501):
#         sum += i
#     print(sum)
#
# add()

#2.字符判断，从键盘输入一个字符，判断这个字符是数字，还是大写字母，还是小写字母，还是符号
# a = input("输入一个字符:")
#
# def test(a):
#     if a.isdigit():
#         print("这是数字")
#     elif a.isupper():
#         print("这是大写字母")
#     elif a.islower():
#         print("这是小写字母")
#     else:
#         print("这是符号")
#
# test(a)

#3.密码验证，尝试将上述的用户名和密码分开进行，即如果用户名输入错误，则不需要再提示输入密码，只有当用户名正确的时候，才提示输入密码
# username = "admin"
# password = "test123"
#
# def login():
#     while True:
#         a = input("请输入账号:")
#         if a == username:
#             b = input("请输入密码:")
#             if b == password:
#                 print("密码正确")
#                 break
#             else:
#                 print("密码不正确,重新登录")
#
# login()

#4.水仙花数,计算三位整数(100-999)的水仙花数，水仙花数指每一位的立方相加等于该自己，比如153=1^3+5^3+3^3
# def test():
#     for n in range(100,1000):
#         i = n // 100
#         j = n // 10 % 10
#         k = n % 10
#         if n == i ** 3 + j ** 3 + k ** 3:
#             print(n)
#
# test()

#5.次方计算:计算X的Y次方，X（底数）和Y(指数)的值由用户输入
# a = int(input("输入底数："))
# b = int(input("输入指数:"))
#
# def test():
#     print("{}的{}次方的值为{}".format(a,b,a**b))
#
# test()

#6.统计字符，从键盘任意输入一个字符串，统计这个字符串中包含几个大写字母，几个小写字母，几个数字，几个特殊符号
# a = input("请输入字符串：")
#
# def test(a):
#     i = 0
#     digit_sum = 0
#     lower_sum = 0
#     upper_sum = 0
#     zifu_sum = 0
#     for i in range(len(a)):
#         if a[i].isdigit():
#             digit_sum = digit_sum + 1
#         elif a[i].islower():
#             lower_sum = lower_sum + 1
#         elif a[i].isupper():
#             upper_sum = upper_sum +1
#         else:
#             zifu_sum = zifu_sum + 1
#     print("字符串中有{}个数字".format(digit_sum))
#     print("字符串中有{}个小写字母".format(lower_sum))
#     print("字符串中有{}个大写字母".format(upper_sum))
#     print("字符串中有{}个特殊字符".format(zifu_sum))
#
# test(a)

#7.抓球问题，有红球5个，黑球7个，白球9个，随机取出12个，计算可能的颜色组合有多少种
# def ball():
#     sum = 0
#     for i in range(1,6):
#         for j in range(1,8):
#             for k in range(1,10):
#                 if i + j + k == 12:
#                     sum = sum + 1
#                     print("第{}种组合:红球{}个，黑球{}个，白球{}个".format(sum,i,j,k))
#
# ball()

#8.组合问题,用1元纸币兑换1分，2分和5分的硬币，要求兑换总数为50枚，问可以有多少种组合，每种组合对应1分，2分，5分分别是多少
# def test():
#     sum = 0
#     for i in range(0,51):
#         for j in range(0,26):
#             for k in range(0,11):
#                 if i + j + k == 50 and i*1 + j*2 +k*5 ==100:
#                     sum = sum+1
#                     print("第{}种组合:1分为{}枚，2分为{}枚，5分为{}枚".format(sum,i,j,k))
#
# test()

#9.九九乘法表，尝试用for循环完成九九乘法表输出
# def test():
#     sum = 0
#     for i in range(1,10):
#         for j in range(i,10):
#             sum = i*j
#             print("{} x {} = {}".format(i,j,sum),end = " ")
#         print(end = "\n")
#
# test()

#10.字符串判断，从键盘输入一个字符串，判断该字符串是否可以变转换为一个有效的数字
# a = input("请输入字符串:")
#
# def test():
#     if a.isdigit():
#         print("该字符串可以转变为一个有效的数字")
#     else:
#         print("该字符串无法转变为一个有效的数字")
#
# test()

#11.用户输入一个数字，倒序输出，并计算每一位数字的和
# import pysnooper
#
# @pysnooper.snoop()
# def test():
#     b = []
#     sum = 0
#     while True:
#         a = input("请输入一个数字:")
#         b.append(a)
#         b.reverse()
#         print("倒序:",b)
#         sum += int(b[0])
#         print("数字总和为:",sum)
#
# test()


